package com.hildeberto.home.client;

import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Skin;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import objetsBd.LocataireBd;

/**
 *
 * @author verpoorten
 */
public class ListeLocataireController implements Initializable {

    private static final Logger LOGGER = Logger.getLogger(ListeLocataireController.class.getName());
    @FXML
    TableView<LocataireBd> tableLocataires;
    @FXML
    TableColumn<LocataireBd, String> denominationCol;
    @FXML
    TableColumn<LocataireBd, String> rueCol;
    @FXML
    TableColumn<LocataireBd, String> localiteCol;

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        /*denominationCol.setCellValueFactory(new PropertyValueFactory<LocataireBd, String>("denomination"));
         rueCol.setCellValueFactory(new PropertyValueFactory<LocataireBd, String>("ruee"));
         localiteCol.setCellValueFactory(new PropertyValueFactory<LocataireBd, String>("Localité"));*/

        tableLocataires.getItems().setAll(listeBatiments());
        tableLocataires.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
            // this method will be called whenever user selected row
            @Override
            public void changed(ObservableValue observale, Object oldValue, Object newValue) {
                LocataireBd selectedUser = (LocataireBd) newValue;
                LOGGER.log(Level.INFO, "id sel:" + selectedUser.getIdLocataire());
            }
        });
        denominationCol.setSortType(TableColumn.SortType.ASCENDING);
        rueCol.setSortType(TableColumn.SortType.ASCENDING);

    }

    private LocataireBd[] listeBatiments() {
        List<LocataireBd> batiments = new ArrayList<>();
        LocataireBd batiment = new LocataireBd();
        batiment.setIdLocataire(1L);
        batiment.setNomReference("nom ref1");

        LocataireBd batiment2 = new LocataireBd();
        batiment2.setIdLocataire(2L);
        batiment2.setNomReference("nom ref2");

        batiments.add(batiment);
        batiments.add(batiment2);
        return batiments.toArray(new LocataireBd[batiments.size()]);
    }

    @FXML
    private void btnVoirLocataireBatiment(ActionEvent event) throws Exception {

        LOGGER.log(Level.INFO, "oucou");
        LOGGER.log(Level.INFO, "coucou on veut voir le locataire{0}", tableLocataires.getSelectionModel().getSelectedItem().getIdLocataire());

    }
}
